iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0

前言

Kotlin 有三種結構跳轉表達式:

  • return : 默認情況下從最近的封閉函數或匿名函數。
  • break : 終止最近的封閉循環。
  • continue : 進入最近的封閉循環的下一步。

中斷執行和繼續迴圈標籤

Kotlin 中的任何表達式都可以用標籤進行標記。標籤的形式是標識符後跟@ 符號,例如 abc@ 或 fooBar@。要標記表達式,只需在其前面添加一個標籤。

loop@ for (i in 1..100) {
    // ...
}

我們可以加入breakcontinue 的標籤來指定後續的動作

loop@ for (i in 1..100) {
    for (j in 1..100) {
        if (...) break@loop
    }
}

帶有標籤的break會在帶有該標籤的循環之後立即跳轉到執行點。
continue 則繼續進行該循環的下一個迭代

回傳標籤

在 Kotlin 中,可以使用匿名函式、區域函式和Object Expressions來嵌套函數。
合格的回傳標籤允許我們從外部函數返回參數。
如同以下程式碼所示:

fun foo() {
    listOf(1, 2, 3, 4, 5).forEach {
        if (it == 3) return // non-local return directly to the caller of foo()
        print(it)
    }
    println("this point is unreachable")
}

return在Kotlin中有其他不同的標籤能賦予不同的行為。
可以參考官方網站的說明。

Reference


上一篇
[Day9] 條件和循環
下一篇
[Day11] 例外處理
系列文
從0開始的Kotlin學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言